#include <stdio.h>
#include <stdlib.h>
int main(void)
{
    FILE *infile, *outfile;
    int grade, number = 0, i, sum = 0;
    // 以读模式打开输入文件in.txt，失败则终止程序
    if ((infile = fopen("in.txt", "r")) == NULL)
        exit(1);
    // 以写模式打开输出文件out.txt，失败则终止程序
    if ((outfile = fopen("out.txt", "w")) == NULL)
        exit(1);
    // 循环读取in.txt中的整数，直到文件结束
    while (fscanf(infile, "%d", &grade) != EOF)
    {
        printf("%d ", grade); // 打印读取的整数
        sum += grade;         // 累加分数
        number++;             // 统计数量
    }
    printf("\n");
    // 若读取到有效数据，计算平均值并写入out.txt
    if (number != 0)
        fprintf(outfile, "%.1f", (float)sum / number);
    fclose(infile);  // 关闭输入文件
    fclose(outfile); // 关闭输出文件
    return 0;
}
/* 代码功能说明：
   1. 从in.txt读取整数，实时打印并计算总和与数量。
   2. 计算平均值（保留一位小数），写入out.txt。
   关键点：使用fscanf顺序读取文本文件，fprintf写入结果，最后关闭文件。
*/